1824A - LuoTianyi and the Show - CodeForces Solution


dp greedy

Please click on ads to support us..

C++ Code:

#include<bits/stdc++.h>
using namespace std;
#define int long long


const int N = 200010;

int st[N];
int a[N];
void solve(){
	int n,m;cin>> n >> m;
	for(int i=1;i<=n;i++)cin>> a[i];
	int x = 0,y = 0;
	for(int i=1;i<=m;i++)st[i] = 0;
	for(int i=1;i<=n;i++){
		if(a[i]==-1)x++;
		else if(a[i]==-2)y++;
		else st[a[i]]=1;
	}

	int ans = 0;
	for(int i=m;i;i--){
		if(st[i])ans++;
	}
	int k = m-ans;
	int cnt = 0;
	int res = 0;
	for(int i=1;i<=m;i++){
		if(st[i])
			res = max(res,ans+min(x,cnt)+min(y,k-cnt));
		else
			cnt ++;
	}
	res = max(res,max(x,y)+ans);
	cout<<min(res,m)<<endl;
}


signed main(){
	int _;cin>>_;while(_--)
	solve();
	
}


Comments

Submit
0 Comments
More Questions

1627B - Not Sitting
1663C - Pōja Verdon
1497A - Meximization
1633B - Minority
688B - Lovely Palindromes
66B - Petya and Countryside
1557B - Moamen and k-subarrays
540A - Combination Lock
1553C - Penalty
1474E - What Is It
1335B - Construct the String
1004B - Sonya and Exhibition
1397A - Juggling Letters
985C - Liebig's Barrels
115A - Party
746B - Decoding
1424G - Years
1663A - Who Tested
1073B - Vasya and Books
195B - After Training
455A - Boredom
1099A - Snowball
1651D - Nearest Excluded Points
599A - Patrick and Shopping
237A - Free Cash
1615B - And It's Non-Zero
1619E - MEX and Increments
34B - Sale
1436A - Reorder
1363C - Game On Leaves